A backend service layer may implement metadata models to support different business solutions. Metadata models may include generic models of a business object, a floorplan (i.e., a user interface layout), user interface text, a process component, and a message type, among others. A business object, for example, is a software model representing real-world items used during the transaction of business. An instance of a business object metadata model may comprise a SalesOrder object model or an Organization object model. Instances of these object models, in turn, represent specific data (e.g., SalesOrder 4711, ACME corporation).
An instance of a business object metadata model (e.g., a SalesOrder object model or, more generically, a business object object model) may specify business logic and/or data having any suitable structure. The structure may be determined based on the requirements of a business scenario in which the instance is to be deployed. A business application for a particular business scenario may require many business object object models, where the structure of each has been determined based on the requirements of the particular business scenario.
A customer deploying a business application may desire changes to the business objects included in the business application. For example, a customer may require a field (e.g., “SerialNumber”) which does not exist within the “Product” business object of a business application. A developer may therefore modify the metadata of the business object in the backend service layer to provide the additional field. A business application might also provide pre-defined user interfaces to interact with the business objects. A developer may similarly modify metadata of these user interfaces to add entities of a user interface data model and to bind these user interface data entities to business object entities.
The modified metadata must be imported by a backend service layer in order to take effect. Some systems provide a report which lists software components whose metadata has been modified. These software components may comprise business objects, user interface entities, etc., and the metadata modifications may affect certain elements of a software application which depend on the software components.
For example, according to role-based access management systems, a change pointer table lists any workcenters, workcenter views, floorplans, report usages and external user interface applications having changed metadata. Next, all workcenter views related to the changed UI entities are determined. Authorization policies are then regenerated for each determined workcenter view. However, some of the metadata modifications might not have any affect on authorization policies, so much of this policy regeneration might unnecessarily hamper runtime performance.